package com.ccb.jyzx.expand.ouapi.service;

import com.ccb.jyzx.expand.ouapi.beans.DepartmentInfo;
import com.ccb.jyzx.expand.ouapi.beans.sync.DepartmentInfoSync;
import com.ccb.jyzx.expand.ouapi.view.respons.TreeData;

import java.util.List;

/**
 * @author XIEFEI
 * @date 2019-11-12 9:10
 * @Description
 **/
public interface DepartmentService {
    /**
     * 根据Id查询
     * @param id
     * @return
     */
    DepartmentInfo getById(String id);

    /**
     * 查询所有部门
     * @return
     */
    List<DepartmentInfo> getAll();

    /**
     * 根据OrgId查询部门
     * @return
     */
    List<DepartmentInfo> getByOrgId(String orgId);

    /**
     * 获取所有部门
     * @return
     */
    List<DepartmentInfo>  getAllDep();

    /**
     * 获取所有部门
     * @return
     */
    TreeData  getAllDepTree();

    /**
     * 根据组织ID查询
     * @param orgId
     * @return
     */
    List<DepartmentInfo> getByOrgIdDep(String orgId);

    /**
     * 查询所有部门(同步用)
     * @return
     */
    List<DepartmentInfoSync> getAllSync();

    /**
     * 插入部门信息
     * @param departmentInfoSync
     */
    void insert(DepartmentInfoSync departmentInfoSync);

    /**
     * 更新部门信息
     * @param departmentInfoSync
     */
    void update(DepartmentInfoSync departmentInfoSync);

    /**
     * 根据id删除
     * @param id
     */
    void deleteById(String id);
}
